package com.common.auth.api.service;

import com.common.auth.api.dto.UserDto;
import com.common.auth.api.dto.UserPassUpdateDto;
import com.common.auth.dao.UserMapper;
import com.common.auth.po.UserPo;
import com.common.service.MapperService;

import java.util.List;


/**
 * <p>
 * 用户信息列表服务类
 * </p>
 *
 * @author system
 * @since 2024-03-08
 */
public abstract class UserService extends MapperService<UserPo, UserDto, UserMapper> {


	/**
	 *  用户的启用/禁用
	 * @param userCode
	 */
	public abstract void toggleUserEnableStatus(String userCode);


	/**
	 *  为用户分配角色
	 * @param userDto
	 * @return
	 */
	public abstract void assignRolesToUser(UserDto userDto);

	/**
	 * 查询用户已分配的角色信息
	 * @param userCode
	 * @return
	 */
	public abstract List<String> getAssignedRolesByUserCode(String userCode);


	/**
	 * 重置密码
	 * @param userCode 需要重置的用户编码
	 */
	public abstract void resetPassword(String userCode) ;


	/**
	 *  修改密码
	 * @param dto
	 */
	public abstract void updatePassword(UserPassUpdateDto dto);

}
